// 以下都是跟业务相关的封装函数

/*
 * 微信小程序更新函数
 */
export function updateApp() {
  // #ifdef  MP-WEIXIN
  const updateManager = uni.getUpdateManager()
  updateManager.onCheckForUpdate(function(res) {
    // 请求完新版本信息的回调
    console.log(res.hasUpdate)
  })
  updateManager.onUpdateReady(() => {
    uni.showModal({
      title: '更新提示',
      content: '新版本已经准备好，是否重启应用？',
      success(res) {
        if (res.confirm) {
          // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
          updateManager.applyUpdate()
        }
      },
    })
  })
  updateManager.onUpdateFailed(() => {
    // 新的版本下载失败
  })
  //  #endif
}
/*
 * 配合mescroll-uni的封装函数
 */
export function hanldeListPage(func, params = 'listParams', listName = 'dataList') {
  return async function(options) {
    if (typeof func !== 'function') {
      return uni.showToast({
        title: '请传入请求函数',
        icon: 'nones',
      })
    }
    const pageNo = options.num // 页码, 默认从1开始
    const pageSize = options.size // 页长, 默认每页10条
    try {
      const resp = await func.call(this, Object.assign({
        pageNo,
        pageSize,
      }, this[params] && typeof this[params] === 'object' ? this[params] : {}))
      this.mescroll.endSuccess(resp.content.length)
      this[listName] = pageNo === 1 ? resp.content : this[listName].concat(resp.content)
    } catch (e) {
      this.mescroll.endErr()
    }
  }
}
